<?php

class Tamu extends \Eloquent {

	public function lokasi(){
			return $this->belongsTo('Lokasi');
	}
	public function penduduk(){
			return $this->belongsTo('Penduduk');
	}

	public function agama(){
			return $this->belongsTo('Agama');
	}

	public function jenisPekerjaan(){
			return $this->belongsTo('jenisPekerjaan');
	}

	public function scopeActive($query) {
        return $query->where('is_active', '=', '1');
    }

    public function setNamaAttribute($value)
	{
		$this->attributes['nama'] = strtoupper($value);
	}

	// Add your validation rules here
	public static $rules = [
		// 'title' => 'required'
		'lokasi_id' => 'required',
		'penduduk_id' => 'required',
		'no_ktp' => 'required',
		'nama' => 'required',
		'jenis_kelamin' => 'required',
		'golongan_darah' => 'required',
		'tempat_lahir' => 'required',
		'tanggal_lahir' => 'required',
		'agama_id' => 'required',
		'jenis_pekerjaan_id' => 'required',
		'status_kawin' => 'required',
		'alamat' => 'required',
		'alasan_tinggal' => 'required',
		'tanggal_lapor' => 'required',
		'tanggal_akhir' => 'required'
	];

	// Don't forget to fill this array
	protected $fillable = [
		'lokasi_id',
		'penduduk_id',
		'no_ktp',
		'nama',
		'jenis_kelamin',
		'golongan_darah',
		'tempat_lahir',
		'tanggal_lahir',
		'agama_id',
		'jenis_pekerjaan_id',
		'status_kawin',
		'alamat',
		'alasan_tinggal',
		'tanggal_lapor',
		'tanggal_akhir',
		'is_active',
		'user_id',
		'ref_id',
		'action'
	];

    public static function boot()
    {
        parent::boot();

        static::creating(function($penduduk)
        {
            $penduduk->user_id = Auth::user()->id;
        });

        // Setup event bindings...
        static::updated(function($penduduk)
        {
            $penduduk_after = static::active()->where('ref_id', '=', $penduduk->ref_id)->first();
            // id : sebelum $penduduk->id
            // id sesudah : $penduduk_after->id            
            foreach ($penduduk->lokasis as $lokasis) {
                $penduduk->lokasis()->updateExistingPivot($lokasis->pivot->lokasi_id, array('penduduk_id' => $penduduk_after->id), false);
            }

        });        
    }

}